//
// Created by 12992 on 24-10-19.
//

#ifndef MEDIA_TRANSCODER_VIDEOENCODECONFIGWIDGET_H
#define MEDIA_TRANSCODER_VIDEOENCODECONFIGWIDGET_H

#include <QWidget>

namespace utils
{
    class video_config;
}

namespace gui::widgets
{
    QT_BEGIN_NAMESPACE

    namespace Ui
    {
        class VideoEncodeConfigWidget;
    }

    QT_END_NAMESPACE

    class VideoEncodeConfigWidget : public QWidget
    {
    Q_OBJECT

    public:
        explicit VideoEncodeConfigWidget(QWidget* parent = nullptr);

        ~VideoEncodeConfigWidget() override;

        void setConfig(const utils::video_config& config);

        utils::video_config getVideoConfig() const;

    private slots:

        void changeCopyStream(Qt::CheckState currState);

        void changeCBR();

    private:
        void init_widget() const;

        void init_signal();

    private:
        Ui::VideoEncodeConfigWidget* ui;
    };
} // gui::widgets

#endif //MEDIA_TRANSCODER_VIDEOENCODECONFIGWIDGET_H
